package com.simblog.controller;

import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.time.DateUtils;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.simblog.common.constants.Constants;
import com.simblog.oaknt.domain.User;

public class BaseController {
	
	public User getSessionUser(HttpServletRequest request){
		return (User)request.getSession().getAttribute(Constants.LOGIN_USER);
	}
	
	/**
	 * 用于json数据封装
	 * @param data  数据
	 * @param code  状态码
	 * @param msg   返回消息
	 * @return
	 */
	public JSONObject assemblyJson(Object data, String code, String msg) {
		JSONObject json = new JSONObject();

		if (data != null) {
			json.put("data", data);
		}
		json.put("code", code);
		json.put("msg", msg);
		return json;
	}
	
	
	/**
	 * 用于判断page是否为空
	 * @param page  page对象
	 * @return
	 */
	public boolean isNotEmptyPage(Page<?> page) {
		if(page != null && page.getResult() != null && page.getResult().size() > 0){
			return true;
		}
		return false;
	}
	
	/**
	 * 判断list是否为空
	 * @param list
	 * @return
	 */
	public boolean isNotEmptyList(List<?> list){
		if(list != null && list.size() > 0){
			return true;
		}
		return false;
	}
	
	/**
	 * 初始化pageInfo对象
	 * @param pageInfo
	 */
	public <T> void initPage(PageInfo<T> pageInfo){
		if(pageInfo != null && pageInfo.getPageNum() == 0){
			pageInfo.setPageNum(1);
		}
		if(pageInfo != null && pageInfo.getPageSize() == 0){
			pageInfo.setPageSize(10);
		}
	}
	
	
	public JSONObject systemException(){
		return assemblyJson(null, Constants.RESP_EXCEPTION, "系统异常");
	}
		
}
